﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using QLTB.Controllers;
using QuanLyThietBi.Manager;
using QuanLyThietBi.ManagerBase;
using QuanLyThietBi.HamXuLy;
using QuanLyThietBi.Entity;


namespace QLTB.Forms
{
    public partial class FrmEditLoaiThietBi : DevComponents.DotNetBar.Office2007Form
    {
        public EventHandler ThemEvent;
        
        public FrmEditLoaiThietBi()
        {
            InitializeComponent();
        }

        public FrmEditLoaiThietBi(string MaLoaiTB): this()

        {

            txtMaloaiTB.Text = MaLoaiTB;
            if (CheckId(txtMaloaiTB.Text) == false)
                LoadDataUpdate(txtMaloaiTB.Text);
          
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnTroGiup_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Thông tin hướng dẫn sử dụng!");
        }

        private void btnApdung_Click(object sender, EventArgs e)
        {
            if (CheckId(txtMaloaiTB.Text))
            {
                InsertPB();
                this.Close();
            }
            else
            {

                UpdatePB(txtMaloaiTB.Text);
                this.Close();
            }
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (CheckId(txtMaloaiTB.Text))
            {
                InsertPB();
                HamXuLy GetID = new HamXuLy();
                string strMaLoaiTB = GetID.LayMaID("P_GetMaLoaiTB");
                txtMaloaiTB.Text = strMaLoaiTB;
                txtTenLoaiTB.Text = "";
                txtMoTa.Text = "";
            }
            else
            {

                UpdatePB(txtMaloaiTB.Text);
            }
        }

        void InsertPB()
        {
            if (txtMaloaiTB.Text != "" && txtTenLoaiTB.Text != "")
            {
                TBL_LoaiThietBiEntity objLoaiTB = new TBL_LoaiThietBiEntity();
                objLoaiTB.MaLoaiTB = txtMaloaiTB.Text;
                objLoaiTB.TenLoaiTB = txtTenLoaiTB.Text;
                objLoaiTB.MoTa = txtMoTa.Text;
                TBL_LoaiThietBiManager.CreateInstant().Insert(objLoaiTB);
                if (ThemEvent != null)
                    ThemEvent(this, EventArgs.Empty);

            }
            else
            {
                MessageBoxEx.Show("Mã loại thiết bị và tên loại thiết bị không được rỗng!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        void UpdatePB(string MaLoaiTB)
        {
            if (txtMaloaiTB.Text != "" && txtTenLoaiTB.Text != "")
            {
                TBL_LoaiThietBiEntity objLoaiTB = new TBL_LoaiThietBiEntity();
                objLoaiTB.MaLoaiTB = MaLoaiTB;
                objLoaiTB.TenLoaiTB = txtTenLoaiTB.Text;
                objLoaiTB.MoTa = txtMoTa.Text;

                TBL_LoaiThietBiManager.CreateInstant().Update(objLoaiTB);

                if (ThemEvent != null)
                    ThemEvent(this, EventArgs.Empty);
            }
            else
            {
                MessageBoxEx.Show("Mã loại thiết bị và tên loại thiết bị không được rỗng!", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool CheckId(string MaLoaiTB)
        {
            DataTable dt = TBL_LoaiThietBiManager.CreateInstant().SelectByMaLoaiTB(MaLoaiTB);
            if (dt.Rows.Count > 0)
                return false;
            else
                return true;
        }

        private void LoadDataUpdate(string MaLoaiTB)
        {
            DataTable dtLoaiTb = TBL_LoaiThietBiManager.CreateInstant().SelectByMaLoaiTB(MaLoaiTB);
            if (dtLoaiTb.Rows.Count > 0)
            {
                txtTenLoaiTB.Text = dtLoaiTb.Rows[0]["TenLoaiTB"].ToString();
                txtMoTa.Text = dtLoaiTb.Rows[0]["MoTa"].ToString();
            }
        }

        private void FrmEditLoaiThietBi_Load(object sender, EventArgs e)
        {

        }
       
    }
}